<?php 
    session_start();
	require_once("includes/header.php");
	require_once("includes/function_encriptado.php"); //crypt( string que queremos hacerle el hash, salt)
    require_once("includes/connection_db.php");  // incluimos el archivo de conexión a la Base de Datos
	if(isset($_SESSION["ERROR"]))
	{
		echo $_SESSION["ERROR"];
		unset($_SESSION["ERROR"]);
		session_destroy();
		exit;
	}
	else
	{
		if(isset($_POST['enviar1'])) { // comprobamos que se han enviado los datos desde el formulario 
			// creamos una función que nos parmita validar el email 
			function valida_email($correo) { 
				if (preg_match('/^[A-Za-z0-9-_.+%]+@[A-Za-z0-9-.]+\.[A-Za-z]{2,4}$/', $correo)) return true; 
				else return false; 
			} 
			// Procedemos a comprobar que los campos del formulario no estén vacíos 
			$sin_espacios = count_chars($_POST['usuario_nombre'], 1); 
			if(!empty($sin_espacios[15])) { // comprobamos que el campo usuario_nombre no tenga espacios en blanco 
				echo "<div align='center'><h3>El campo <em>usuario_nombre</em> no debe contener espacios en blanco. <a href='javascript:history.back();'>Reintentar</a></h3></div>"; 
			}elseif(empty($_POST['usuario_nombre'])) { // comprobamos que el campo usuario_nombre no esté vacío 
				echo "<div align='center'><h3>No ha ingresado el nombre de usuario. <a href='javascript:history.back();'>Reintentar</a></h3></div>"; 
			}elseif(empty($_POST['usuario_clave'])) { // comprobamos que el campo usuario_clave no esté vacío 
				echo "<div align='center'><h3>No ha ingresado contraseña. <a href='javascript:history.back();'>Reintentar</a></h3></div>"; 
			}elseif($_POST['usuario_clave'] != $_POST['usuario_clave_conf']) { // comprobamos que las contraseñas ingresadas coincidan 
				echo "<div align='center'><h3>Las contraseñas ingresadas no coinciden. <a href='javascript:history.back();'>Reintentar</a></h3></div>"; 
			}elseif(!valida_email($_POST['usuario_email'])) { // validamos que el email ingresado sea correcto 
				echo "<div align='center'><h3>El email ingresado no es válido. <a href='javascript:history.back();'>Reintentar</a></h3></div>";
			}elseif(empty($_POST['usuario_perfil'])) { // comprobamos que el campo usuario_perfil no esté vacío 
				echo "<div align='center'><h3>No ha ingresado el perfil. <a href='javascript:history.back();'>Reintentar</a></h3></div>";					
			}else { 
				// "limpiamos" los campos del formulario de posibles códigos maliciosos 
				$usuario_nombre = addslashes($_POST['usuario_nombre']); 
				$usuario_clave = addslashes($_POST['usuario_clave']); 
				$usuario_email = addslashes($_POST['usuario_email']);
				$usuario_perfil = addslashes($_POST['usuario_perfil']);
				
				// comprobamos que el usuario ingresado no haya sido registrado antes
				$sql = sqlsrv_query($conexion,"SELECT Username FROM USUARIO WHERE Username='".$usuario_nombre."'") or die(sqlsrv_error()); 
				if($row = sqlsrv_fetch_array($sql))
				{ 
					echo "<div align='center'><h3>El nombre usuario elegido ya ha sido registrado anteriormente. <a href='javascript:history.back();'>Reintentar</a></h3></div>";
				}
				else
				{
					$usuario_clave = crypt_blowfish_pass($usuario_clave); //encriptamos la clave con función crypt() y método blowfish
					$fecha_reg = date("Y-m-d H:i:s");
					// ingresamos los datos a la BD
					$sqlin = "INSERT INTO USUARIO (Username, Clave, Email, FechaRegistro, Activo, Entidad_id, Perfil_id) VALUES ('".$usuario_nombre."', '".$usuario_clave."', '".$usuario_email."', CONVERT(datetime,'".$fecha_reg."',20), 'True', '1', '".$usuario_perfil."')"; 
					$reg = sqlsrv_query($conexion,$sqlin);
					if($reg)
					{ 
						echo "<br/><br/><br/>";
						echo "<div align='center'><h3>Datos ingresados correctamente.</h3></div>";
						echo "<br/><br/><br/>";
						header("Refresh : 3; URL=http://localhost:8080/SIAI/formulario_registro.php");
					}
					else
					{
						echo "<br/><br/><br/>";
						echo "<div align='center'><h3>Ha ocurrido un error y no se registraron los datos.</h3></div>";
						echo "<br/><br/><br/>";
						require_once("includes/footer.php");
					} 
				} 
			}
		}  
	    else
		{ 
			header("Location: formulario_registro.php"); 
		}
	}
	
?> 